package main

import (
	"fmt"
	"time"
)

// 方式一
//func search(ch chan string, msg string) {
//	var i int
//	for {
//		// 模拟找到了关键字
//		ch <- fmt.Sprintf("get %s %d", msg, i)
//		i++
//		time.Sleep(1000 * time.Millisecond)
//	}
//}
//
//func main() {
//	ch := make(chan string)
//	go search(ch, "jonson")
//	go search(ch, "olaya")
//	for i := range ch {
//		fmt.Println(i)
//	}
//}

// 方式二
func search(msg string) chan string {
	var ch = make(chan string)
	go func() {
		var i int
		for {
			ch <- fmt.Sprintf("get %s %d", msg, i)
			i++
			time.Sleep(100 * time.Millisecond)
		}
	}()
	return ch
}

func main() {
	ch1 := search("jonson")
	ch2 := search("olaya")

	for {
		select {
		case msg := <-ch1:
			fmt.Println(msg)
		case msg := <-ch2:
			fmt.Println(msg)
		}
	}
}
